package com.ruoyi.hualian.service;

import java.util.List;
import com.ruoyi.hualian.domain.HlMaterial;
import com.ruoyi.hualian.domain.HlMaterialOd;

/**
 * 材质Service接口
 * 
 * @author hujian
 */
public interface IHlMaterialService 
{
    /**
     * 根据已知信息查询具体对象信息
     * @param material 已知信息
     * @return 具体对象信息
     */
    HlMaterial selectOne(HlMaterial material);

    /**
     * 查询同步轮材质集合
     */
    List<HlMaterial> selectTpMaterialList();


    /**
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     */


    /**
     * 查询材质
     * 
     * @param materialId 材质主键
     * @return 材质
     */
    public HlMaterial selectHlMaterialByMaterialId(Long materialId);

    /**
     * 查询材质列表
     * 
     * @param hlMaterial 材质
     * @return 材质集合
     */
    public List<HlMaterial> selectHlMaterialList(HlMaterial hlMaterial);

    /**
     * 新增材质
     * 
     * @param hlMaterial 材质
     * @return 结果
     */
    public int insertHlMaterial(HlMaterial hlMaterial);

    /**
     * 修改材质
     * 
     * @param hlMaterial 材质
     * @return 结果
     */
    public int updateHlMaterial(HlMaterial hlMaterial);

    /**
     * 批量删除材质
     * 
     * @param materialIds 需要删除的材质主键集合
     * @return 结果
     */
    public int deleteHlMaterialByMaterialIds(Long[] materialIds);

    /**
     * 删除材质信息
     * 
     * @param materialId 材质主键
     * @return 结果
     */
    public int deleteHlMaterialByMaterialId(Long materialId);
}
